Printers are common peripheral devices attached to computers. A printer allows a computer user to make a hard copy of documents that are created in a variety of applications and programs on a computer. To function properly, a channel of communication is established (e.g., via a network connection) between the printer and the computer to enable the printer to receive commands and information from the host computer.
Once a connection is established between a workstation and the printer, printing software is typically implemented at a print server to manage a print job from job entry and management through the complete printing process. Print servers have the ability to route print jobs to multiple different printers by maintaining queues to each serviced printer.
Typically, a printer operator has the ability to move jobs between queues. There are several reasons as to why an operator may choose to move a job from one printer queue to another. For example, an operator may discover that the time to print the job may take excessively longer remaining in the current queue than if moved to another queue with fewer print jobs.
Currently, some host server printing software has the ability to provide time estimates for completing a print job at a particular printer based on basic knowledge about the printer (e.g., printer model X prints at 90 pages per minute (ppm)). However, many variables effect the actual print time of a job. Such variables include a time to switch between simplex and duplex, size of the medium sheet, switching between input drawers, time to fold, staple, trim, and/or bind a job, and time to perform automated or manual maintenance or calibration, etc. Thus, time estimates provided by printing software are often inaccurate.
Accordingly, an improved mechanism for providing a time estimate to complete a print job is desired.